<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        // 题1.
        //3 + 2 +“7”的结果是什么？3 + (2 + "7")的结果又是什么？这两个表达式输出的值是什么类型？
    //    console.log3 + 7 +"7" 
         //结果//57 字符串拼接  string
    //    console.log(3 + (2 + "7"))
         //结果 //327 字符串拼接  string
        // 题2.
        //6 - false的结果是什么？
            //  6

        // 题3.
        //6 - "false"和6 + "false"的结果分别是什么？结果输出值是什么数据类型？
        //   NaN   
        // 6 false 字符串拼接
        // 题4.
        //下面代码分别输出什么？请写出分析过程
        var a = 1;
        var b = ++a + ++a;
        console.log(b);
        // 5

        //---上面和下面是两段代码---

        var a = 1;
        var b = a++ + a++;
        console.log(b);
        //3

        // 题5.
        //JS中哪些值通过Boolean对象转换出来的值为false
    //    +-  0."".NaN null.undefined 


        // 题6.
        //分析下面代码的结果并解释原因。
        var a = 1;
        var b = 2;

        console.log(a && b);  //2
        console.log(a || b);  //1

        // 题7.
        //分析下面代码，分别输出什么？(以注释形式写在console.log后面)

        var str = "12306";
     
        var str1 = 1;
    
        var num = 12306;
      
        var boo = true;

        console.log(str == num); //true
        console.log(str === num); //false
        console.log(str1 == boo); //true
        console.log(str1 === boo); //false

        // 题8.
        // 请分析console.log(1 + - + + + - + -1)的结果？
        //0

        // 题9.
        //分析下面代码，写出分析过程，请问 j 和 y 分别是多少？(不要运行代码，自己分析后写出答案)

        var i = 100;
        i++;
        j = i++;
        y = ++j;
        console.log(y); //102
        console.log(j);  //102


        var a = true && "" && 12306;
        var b = false || "" || undefined || 12306 || "bluej";
        console.log(a); ""
        console.log(b); 12306

        // 提高题，非必做
        
        // - 写出执行结果,并解释原因

        var x = 1;
        if (function f() { console.log(123);}) {
            x += typeof f;
        }
        console.log(x) //1undefined
    </script>
</body>

</html>